#Written by MMCOWBOY
import pygame
import math
import weapon
import effect #flame,
import collidet, item

def build_enemy_object(sub_type):
    pass

class enemy_base_class(pygame.sprite.Sprite):

    SPARK_INTV = 2				                            # enemy trail flame spark interval
    KEEP_DISTANCE = 80				                        # the smallest distance when in tracing movment
    ATTACK_MODE_STRAIGHT_SINGLE = 1                         # attack_mode straight forward & singal ball
    ATTACK_MODE_STRAIGHT_DOUBLE = 2                         # attack_mode straight forward & double balls
    ATTACK_MODE_STRAIGHT_THREE = 3                          # attack_mode straight forward & three balls
    ATTACK_MODE_AIMING_SINGLE = 4                           # attack_mode aiming & singal ball
    ATTACK_MODE_AIMING_NEAREST_SINGLE = 5                   # attack_mode aiming the nearest player & singal ball
    ATTACK_MODE_BOSS_1 = 10                                 # attack_mode for boss 1#
    ATTACK_MODE_BOSS_2 = 11                                 # attack_mode for boss 2#
    MOTION_STRAINGHT = 1                                    # move straight forward
    MOTION_SIN = 2                                          # move controled by sin
    MOTION_MINUS_SIN = 3                                    # move controled by -sin
    MOTION_COS = 4                                          # move controled by cos
    MOTION_MINUS_COS = 5                                    # move controled by -cos
    MOTION_TRACING = 6                                      # Tracing movment
    MOTION_T = 10                                           # 'T' movment
    
    def __init__(self, screen_size, item_type, players):
        
        super(enemy_obj, self).__init__(self.containers)
        self.screen_size = screen_size		                # screen size
        self.screen_width = screen_size[0]	                # screen width
        self.screen_height = screen_size[1]	                # screen height
        self.flame_spark_intv = self.SPARK_INTV             # spark evry SPARK_INTV frame
        self.target = None                                  # Target(s) that will be locked/attacked by enemy_obj
        self.players = players			                    # player list
        self.angle = 0     				                # image rotate angle
        self.fire_intv = 80		    	                    # enemy fire interval
        self.firing = 0 			                        # enemy fire flag
        self.item_type = item_type                          # trans to item type
        
    